<html>
 <head>
  <meta charset="UTF-8">
 </head>
 <body>
  <h1 data-lake-id="EkfUh" id="EkfUh"><span data-lake-id="u3b81970f" id="u3b81970f">典型回答</span></h1>
  <p data-lake-id="uad2d6000" id="uad2d6000"><br></p>
  <p data-lake-id="u65a919cc" id="u65a919cc"><span data-lake-id="uc17b4a7d" id="uc17b4a7d">肯定不是的。</span></p>
  <p data-lake-id="uc81665d7" id="uc81665d7"><span data-lake-id="u8731b656" id="u8731b656">​</span><br></p>
  <p data-lake-id="u3db75902" id="u3db75902"><span data-lake-id="u212774c3" id="u212774c3">联合索引是数据库中的一种索引类型，它由多个列组成，这些列按照指定的顺序组合在一起，以加速数据库查询操作。如(a,b)，表示字段a和字段b组成一个联合索引。</span></p>
  <p data-lake-id="uf26c933d" id="uf26c933d"><span data-lake-id="ucd522074" id="ucd522074">​</span><br></p>
  <p data-lake-id="u2cf543ed" id="u2cf543ed"><span data-lake-id="uc1fe5805" id="uc1fe5805">关于联合索引及最左前缀匹配可以看下这篇：</span></p>
  <p data-lake-id="uca415c7e" id="uca415c7e"><span data-lake-id="u24363f97" id="u24363f97">​</span><br></p>
  <p data-lake-id="u76bf8a33" id="u76bf8a33"><span data-lake-id="u858ef592" id="u858ef592">虽然联合索引能带来很多好处，一方面当涉及到多个索引列的查询时，联合索引可以更快的定位到符合条件的数据行。另外，联合索引可以实现索引覆盖，当索引中包含了本次要查询的所有列时，可以通过索引覆盖直接返回而不需要回表。</span></p>
  <p data-lake-id="u28b33939" id="u28b33939"><span data-lake-id="ua7a9e23f" id="ua7a9e23f">​</span><br></p>
  <p data-lake-id="u946b0b8e" id="u946b0b8e"><strong><u><span data-lake-id="uaaeeea14" id="uaaeeea14">但是，并不是说越多越好的，因为索引的创建和维护也是有很多成本和开销的。</span></u></strong></p>
  <p data-lake-id="u205eea40" id="u205eea40"><span data-lake-id="u54758438" id="u54758438">​</span><br></p>
  <p data-lake-id="u969b94fb" id="u969b94fb"><span data-lake-id="ud0d66e96" id="ud0d66e96">首先，每个索引都需要</span><strong><span data-lake-id="u26545a16" id="u26545a16">占用存储空间</span></strong><span data-lake-id="u6538edc6" id="u6538edc6">。创建太多的联合索引可能会增加数据库的存储需求。</span></p>
  <p data-lake-id="u65458771" id="u65458771"><span data-lake-id="u4cda07be" id="u4cda07be">​</span><br></p>
  <p data-lake-id="uc2a3dd70" id="uc2a3dd70"><span data-lake-id="u78727821" id="u78727821">其次，每次对表进行插入、更新或删除操作时，相关的</span><strong><span data-lake-id="u50b2f383" id="u50b2f383">索引都需要进行维护</span></strong><span data-lake-id="u309635b2" id="u309635b2">。如果有太多的联合索引，这可能会增加写入操作的成本。</span></p>
  <p data-lake-id="u06014be9" id="u06014be9"><span data-lake-id="u4f2a074f" id="u4f2a074f">​</span><br></p>
  <p data-lake-id="u92122d11" id="u92122d11"><span data-lake-id="ufe8a559c" id="ufe8a559c">索引的维护会带来额外的一些页分裂、页合并等操作，会让整个过程效率更加低。</span></p>
  <p data-lake-id="u2c6bf148" id="u2c6bf148"><span data-lake-id="u0b738f1a" id="u0b738f1a">​</span><br></p>
  <p data-lake-id="u43130bdf" id="u43130bdf"><span data-lake-id="ubd03e188" id="ubd03e188">​</span><br></p>
  <p data-lake-id="u8c3c6f24" id="u8c3c6f24"><span data-lake-id="ud3d177f9" id="ud3d177f9">所以，联合索引并不是越多越好的。而是根据实际的查询条件、使用频率、字段区分度等情况，来创建合适的联合索引。</span></p>
 </body>
</html>